package com.triones.api.entity.interlace.dto;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
import lombok.experimental.Accessors;

import java.util.HashMap;
import java.util.Map;

/**
 * 用户表
 */
@TableName(value = "tr_interlace_member")
@Data
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class InterlaceMemberDO {

    @TableId(value = "id")
    private Long id;
    /**
     * 用户编号
     */
    private Integer userNo;
    /**
     * 邮箱（登录账号）
     */
    private String email;
    /**
     * 登录密码
     */
    private String password;
    /**
     * 是否会员（0：否、1：是）
     */
    private String isVip;
    /**
     * 邀请码
     */
    private String inviteCode;
    /**
     * 用户昵称
     */
    private String nickname;
    /**
     * 头像
     */
    private String avatar;
    /**
     * 用户性别（0男 1女 2未知）
     */
    private String sex;
    /**
     * 姓氏
     */
    private String lastName;
    /**
     * 名字
     */
    private String firstName;
    /**
     * 国籍
     */
    private String country;
    /**
     * 城市
     */
    private String city;
    /**
     * 详细地址
     */
    private String address;
    /**
     * 状态（0：正常、1：停用（系统行为）、2：注销（个人行为））
     */
    private String status;
    /**
     * 推荐用户数量
     */
    private Integer recommendCount;
    /**
     * 推荐有效用户数量
     */
    private Integer effectiveCount;
    /**
     * 成为vip的途径（sys_set：系统分配、apply：自己申请）
     */
    private String becomeVipWay;
    /**
     * interlace帐户的 UUID
     */
    private String interlaceAccountId;
    /**
     * interlace用户的 UUID
     */
    private String interlaceUserId;
    /**
     * 创建时间
     */
    private Long createTime;
    /**
     * interlace账户状态（Active, Frozen, Inactive）
     */
    private String interlaceAccountStatus;
    /**
     * interlace账户kyc状态（Pending, Request, Passed, Canceled, Na）
     */
    private String interlaceAccountKycStatus;
    /**
     * interlace账户kyb状态（Pending, Request, Passed, Canceled, Na）
     */
    private String interlaceAccountCardKybStatus;
    /**
     * 请求参数
     */
    @TableField(exist = false)
    private Map<String, Object> params = new HashMap<>();
}
